The Semantic Web proposes to make information available on the World Wide Web (“Web”) so that the information can be understood by both humans and machines. Making information available in a form that can be understood by humans and machines could enable many applications including semantic search, data integration, and others.
The Semantic Web may also make the Web more useable. For example, planning a vacation today often requires a user to visit a multitude of different websites. The user often visits multiple websites in an attempt to find the most convenient and/or cost effective flight. The user may perform a similar task when booking a hotel. Searching for a preview of the destination (e.g., photographs, reviews, things to do) can result in another search of even more websites. The user is then required to assimilate the information that is made available from all of these websites.
The underlying problem is that the actual data the user wants to see and use is not accessible to the user. The user is only able to see the data that the designers of the websites make available to the user. As a result, the user is reduced to visiting multiple websites in order to plan a vacation or to perform other tasks on the Web.
Although there are some websites that try to collect data for the user, the user is still only able to view this data as the data is presented by the website. In addition, there is no guarantee that all potential contributors to the data are included in the data ultimately presented by these websites. For example, information related to certain airlines may not be included the collected data. In another example, restaurant review data almost never includes all available restaurants. These examples illustrate that the user is only able to view data as the data is presented by the website.
In making information available, the Semantic Web aims to link data such that the data becomes independent of the presentation. This enables the user to have better access to the data and also makes it possible for machines to be able to use and interpret the data.
Before machines can interpret the data, the machines need to be able to understand the data. This is where the Semantic Web becomes useful because it attempts to provide a framework such that the data can be understood by machines.
Achieving the goal of the Semantic Web includes the use of knowledge bases or ontologies. The knowledge bases or ontologies attempt to provide relationships between data and provide classifications that allow for reasoning.
Knowledge bases or ontologies, however, can become incredibly complex and detailed. In some ways, this is expected because the ability of a machine to reason is dependent on the quality of the underlying knowledge base. Unfortunately, the size of the knowledge base has a direct impact on the time needed to perform a reasoning task. In fact, the reasoning execution time increases as the volume of the knowledge base increases. As a result, conventional Semantic Web applications are often restricted to small domains.